package com.jinzhi.jzweb.service.modelConfig;

import com.jinzhi.common.base.CoreService;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.modelConfig.DeclareDO;
import com.jinzhi.jzweb.domain.modelConfig.DeclareVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 
 * <pre>
 * 申报主体信息表
 * </pre>
 * <small> 2024-01-10 09:37:33 | lance</small>
 */
public interface DeclareService extends CoreService<DeclareDO> {

    //压缩包下载验证
    Result declareEfficiency(DeclareDO declareDO);

    /**
     * 压缩包下载
     * @param declareDO
     * @return
     * @throws IOException
     */
    Result fileDownload(DeclareDO declareDO, HttpServletResponse response) throws IOException;

    /**
     * 新增申报信息
     * @param declareDO
     * @return
     */
    Result insertDeclare(DeclareDO declareDO,Long userId);



    /**
     * 修改申报信息
     * @param declareDO
     * @return
     */
    Result updateDeclare(DeclareDO declareDO);


    /**
     * 验证证书
     * @param orgName
     * @return
     */
    Result verify(String orgName);

    /**
     * 根据创建人id查询
     * @param createrId
     * @return
     */
    Result getDeclareByCreaterId(Long createrId,Long declareReadyId);

    /**
     * 导出申报汇总数据
     */
    List<DeclareVo> exportList(DeclareDO declareDO, HttpServletResponse response) throws IOException;

}
